/*
* nowcode MGJ14 字符串的排列
* 
描述
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入描述：
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母,例如ac
输出描述：
[ac, ca]
* */
/*

* */
import java.util.*;
public class Solution {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str=in.next();
        int count=0;
        Set<String> list=new HashSet<>();
        String ans="";
        fun(list,str,ans,count);
        int n=list.size();
        ArrayList<String> arr=new ArrayList<>(list);
        Collections.sort(arr);
        System.out.print('[');
        for(int i=0;i<n;i++){
            System.out.print(arr.get(i));
            if(i<n-1){
                System.out.print(", ");
            }
        }
        System.out.print(']');
    }
    static String fun(Set<String> list,String str,String ans,int count){
        int n=str.length();
        for(int i=0;i<n;i++){
            ans+=str.charAt(i);
            count++;
            ans=fun(list,str.substring(0,i)+str.substring(i+1),ans,count);
        }
        if(n==0){
            list.add(ans);
        }
        return ans.substring(0,Math.max(0,ans.length()-1));
    }
}